package com.lupf.myconfig.config;

import com.lupf.myconfig.factory.YamlPropertyLoaderFactory;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Data
@Component
//当前要注入的所有属性的前缀
@ConfigurationProperties(prefix = "busi")
//指定要扫描的文件路径，${spring.profiles.active}用于指定当前运行环境的配置文件
//YamlPropertyLoaderFactory yaml文件加载工厂，默认是使用的propertes加载工厂，如果配置文件后缀是propertes,那么就不用配置factory属性
@PropertySource(value = {"classpath:myconfig/yml-config.yml","classpath:myconfig/yml-config-${spring.profiles.active}.yml"}, encoding = "UTF-8", factory = YamlPropertyLoaderFactory.class)
public class BusiConfig {
    private String key;

    private String key1;

    private String key2;

    //以map的形式接受多个子属性
    private Map<String, String> key3;

    //以对象接口多个子属性
    private OtherConfig key4;

    //以列表的形式
    private List key5;
}
